package cn.openea.perpartner.componet.web.service;

import cn.openea.perpartner.componet.web.entity.InsMsg;
import cn.openea.perpartner.componet.web.vo.MsgQueryVo;
import cn.openea.perpartner.componet.web.vo.R;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @codeDesc: 模板消息管理服务类
 * @author: Mr.Yun
 * @QQ: 2034374624
 * @version: V2.0
 * @Created: 2023/02/15 18:09
 */
public interface ITemplateMsgService extends IService<InsMsg> {

    /**
     * 按查询对象条件以分页形式所有符合的消息列表
     * @param queryVo 查询对象参数
     * @return
     */
    R selectListByPage(MsgQueryVo queryVo);
    R selectLocalAndBpmList(MsgQueryVo queryVo);
    /**
     * 更新消息的状态为已读
     * @param msgid 消息id主键
     * @return
     */
    R updateMsgReadById(Long msgid);

    /**
     * 逻辑标记消息被删除
     * @param msgid 消息id主键
     * @return
     */
    R deleteMarkMsgById(Long msgid);

    /**
     * 通过id获取消息信息
     * @param msgid
     * @return
     */
    R getMsgById(Long msgid);

    /**
     * 按先入先出的顺序获取前50条未发送的消息
     *  即 msgstatus=S的前50条记录
     * @return
     */
    List<InsMsg> selecSendMsgtTopList();

    R updateLocalAndBpmMsgReadById(String msgid);
    R updateLocalAndBpmMsgUnReadById(String msgid);
    R deleteMarkLocalAndBpmMsgById(String msgid);


}
